package com.dd.cloud.user.mapper.doctor;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dd.cloud.user.entity.doctor.DoctorDetailApply;
import com.dd.cloud.user.req.doctor.DoctorDetailApplyPageReq;
import com.dd.cloud.user.req.doctor.DoctorDetailApplyReviewPageReq;
import com.dd.cloud.user.res.doctor.DoctorDetailApplyDetailRes;
import com.dd.cloud.user.res.doctor.DoctorDetailApplyLastTipRes;
import com.dd.cloud.user.res.doctor.DoctorDetailApplyPageRes;
import com.dd.cloud.user.res.doctor.DoctorDetailApplyReviewPageRes;
import org.apache.ibatis.annotations.Param;

/**
 * @author Lx
 * @version 1.0
 */
public interface DoctorDetailApplyMapper extends BaseMapper<DoctorDetailApply> {
    /**
     * 查询医生最后一次(认证申请/修改资料)审核提示
     *
     * @param docId
     * @param type
     * @return
     */
    DoctorDetailApplyLastTipRes getDoctorDetailApplyLastTip(@Param("docId") Integer docId, @Param("type") Integer type);

    /**
     * 查询医生最后一次(认证申请/修改资料/互联网执业备案)信息记录
     *
     * @param docId
     * @param type
     * @return
     */
    DoctorDetailApplyDetailRes getDoctorDetailApplyDetailLast(@Param("docId") Integer docId, @Param("type") Integer type);

    /**
     * 查询医生认证/信息修改申请记录 分页
     *
     * @param iPage
     * @param req
     * @return
     */
    IPage<DoctorDetailApplyPageRes> queryDoctorDetailApplyPage(IPage<?> iPage, @Param("req") DoctorDetailApplyPageReq req);

    /**
     * 查询医生认证/信息修改审核记录 分页
     *
     * @param iPage
     * @param req
     * @return
     */
    IPage<DoctorDetailApplyReviewPageRes> queryDoctorDetailApplyReviewPage(IPage<?> iPage, @Param("req") DoctorDetailApplyReviewPageReq req);

    /**
     * 查询医生认证/信息修改申请记录详情
     *
     * @param applyId
     * @return
     */
    DoctorDetailApplyDetailRes queryDoctorDetailApplyDetailRes(@Param("applyId") Integer applyId);
}
